#include <iostream>
#include <unistd.h>
#include "edge_computing.h"

int main() {
    std::cout << "Hello, World!" << std::endl;
    char buf_token[17]={0};
    int i=1;
    while(1){
        switch (i) {
            case 1:
            {
                startup();
//                int msgid;
//                //申请创建消息队列
//                msgid=msgget(74545,IPC_CREAT|IPC_EXCL|0777);
//                if(msgid==-1)
//                {
//                    if(errno==EEXIST)
//                    {
//                        msgid=msgget(74545,0777);
//                    }
//                    else
//                    {
//                        perror("创建失败!\n");
//                    }
//                }
//                //接收p1发送过来的信息
//                struct msgbuf m1;
//                bzero(&m1,sizeof(m1));
//
//                //msgrcv(msgid,&msg1,sizeof(msg1),777,0);
//                msgrcv(msgid,&m1,sizeof(m1),999,0);
//                printf("接收的信息:%s\n",m1.mtext);
//                buf_token=m1.mtext;
//                //删除消息队列
//                sleep(1);
//                msgctl(msgid,IPC_RMID,NULL);
//                std::cout<<1<<std::endl;
                  //临时文件取令牌
                  ifstream file_token_temp;
                  file_token_temp.open("temp_to_token.txt");
                  file_token_temp>>buf_token;
                  cout<<buf_token<<endl;
            }
                break;
            case 2:
            {
                // set();
                sleep(10);

            }
                break;
            case 3:
            {
                //先用临时文件代替消息队列取文件
                collect_data(buf_token);
            }
                break;
            case 4:{
                //先用临时文件代替消息队列取文件
                goodbye(buf_token);
            }
            case 5:{
                file_clear();
            }
                break;
        }
        i++;
        if(i>5)
            i=1;
    }
    return 0;
}
